/**
 * 
 */
package fr.gfi.agraf.vue.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import fr.gfi.agraf.utils.DateUtils;

/**
 * @author Zakaria
 * 
 */
public class UtilisateurDTO {

	private Long id;

	private String identifiant;

	private String newIdentifiant;

	private String motDePasse;

	private String newMotDePasse;

	private String nom;

	private String prenom;

	private String email;

	private String newEmail;

	private Date dateEntree;

	private Date dateSortie;

	private List<ProfilDTO> listeProfilDTO;

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(final Long id) {
		this.id = id;
	}

	/**
	 * @return the identifiant
	 */
	public String getIdentifiant() {
		return identifiant;
	}

	/**
	 * @param identifiant
	 *            the identifiant to set
	 */
	public void setIdentifiant(final String identifiant) {
		this.identifiant = identifiant;
	}

	/**
	 * @return the motDePasse
	 */
	public String getMotDePasse() {
		return motDePasse;
	}

	/**
	 * @param motDePasse
	 *            the motDePasse to set
	 */
	public void setMotDePasse(final String motDePasse) {
		this.motDePasse = motDePasse;
	}

	/**
	 * @return the nom
	 */
	public String getNom() {
		return nom;
	}

	/**
	 * @param nom
	 *            the nom to set
	 */
	public void setNom(final String nom) {
		this.nom = nom;
	}

	/**
	 * @return the prenom
	 */
	public String getPrenom() {
		return prenom;
	}

	/**
	 * @param prenom
	 *            the prenom to set
	 */
	public void setPrenom(final String prenom) {
		this.prenom = prenom;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * @param email
	 *            the email to set
	 */
	public void setEmail(final String email) {
		this.email = email;
	}

	/**
	 * @return the dateEntree
	 */
	public Date getDateEntree() {
		return DateUtils.cloneDate(dateEntree);
	}

	/**
	 * @param dateEntree
	 *            the dateEntree to set
	 */
	public void setDateEntree(final Date dateEntree) {
		this.dateEntree = DateUtils.cloneDate(dateEntree);
	}

	/**
	 * @return the dateSortie
	 */
	public Date getDateSortie() {
		return DateUtils.cloneDate(dateSortie);
	}

	/**
	 * @param dateSortie
	 *            the dateSortie to set
	 */
	public void setDateSortie(final Date dateSortie) {
		this.dateSortie = DateUtils.cloneDate(dateSortie);
	}

	/**
	 * @return the listeProfilDTO
	 */
	public List<ProfilDTO> getListeProfilDTO() {
		if (listeProfilDTO == null) {
			listeProfilDTO = new ArrayList<ProfilDTO>();
		}
		return listeProfilDTO;
	}

	/**
	 * @param listeProfilDTO
	 *            the listeProfilDTO to set
	 */
	public void setListeProfilDTO(final List<ProfilDTO> listeProfilDTO) {

		this.listeProfilDTO = listeProfilDTO;
	}

	/**
	 * @return the newMotDePasse
	 */
	public String getNewMotDePasse() {
		return newMotDePasse;
	}

	/**
	 * @param newMotDePasse
	 *            the newMotDePasse to set
	 */
	public void setNewMotDePasse(final String newMotDePasse) {
		this.newMotDePasse = newMotDePasse;
	}

	/**
	 * @return the newEmail
	 */
	public String getNewEmail() {
		return newEmail;
	}

	/**
	 * @param newEmail
	 *            the newEmail to set
	 */
	public void setNewEmail(final String newEmail) {
		this.newEmail = newEmail;
	}

	/**
	 * @return the newIdentifiant
	 */
	public String getNewIdentifiant() {
		return newIdentifiant;
	}

	/**
	 * @param newIdentifiant
	 *            the newIdentifiant to set
	 */
	public void setNewIdentifiant(final String newIdentifiant) {
		this.newIdentifiant = newIdentifiant;
	}

}
